home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / qbmgr.zip / MANAGER.BAS < prev   
BASIC Source File  |  1992-02-09  |  14KB  |  420 lines

  1. '*************************************************************************
  2. '*                                                                       *
  3. '*                                                                       *
  4. '*                        FileManager.BAS                                *
  5. '*                                                                       *
  6. '*                        A PUBLIC DOMAIN PROGRAM                        *
  7. '*                                                                       *
  8. '*                        By Carmen Paone                                *
  9. '*                                                                       *
  10. '*                                                                       *
  11. '*************************************************************************
  12. ' This is the first version of FileManager. Improvements will be forthcoming.
  13. ' This program was designed to work with a floppy disk and assumes a default
  14. ' of whatever drive your are on. Check the QuickBasic manual or the built-in
  15. ' help files in QBASIC or QUICKBASIC to change drives and modify the program.
  16. '
  17. ' I need your input on how to improve FileManager. Contact me on:
  18. '               CIS AS CARMEN PAONE [72667, 42]
  19. '               GENIE AS C.PAONE
  20. '               DELPHI AS CARMENPAONE
  21. '
  22. ' ===============================HINTS====================================
  23. '
  24. ' -------------------------------QUICK RETURN-----------------------------
  25. ' If you are using Any Basic, Kill or Name functions, and you want to make
  26. ' a quick exit, just strike the ENTER key and you will be returned to the
  27. ' main menu.
  28. '
  29. '----------------------------LOOP TO FILEMANAGER--------------------------
  30. ' For a return to the FileManager menu from a preset BASIC program, include
  31. ' a subroutine such as this one:
  32. '                SUB MenuReturn
  33. '                RUN "MANAGER"
  34. '                END SUB
  35. '
  36. '---------------------------BAD FILE NAME---------------------------------
  37. ' The error handling routine could be better. If there are no files on the
  38. ' disk such as "COM," error handling will flash the "NO SUCH FILES"
  39. ' message the first time and return you to main menu. However, it won't
  40. ' work the second time during use of program. Just restart the program by
  41. ' hitting the ESC key and than F6 and F5.
  42. '
  43. '--------------------------PRESET PROGRAMS-------------------------------
  44. ' You can call up to eight of your favorite QUICKBASIC programs with
  45. ' FileManager by changing the lines in the SUB "BasicSelect" first in
  46. ' in the select line from "PROGRAM #1" to the name of your program.
  47. ' Go down to the select case portion and look for "CASE 1." Change
  48. ' "PROGRAM #1" to the name of your program. Repeat the process for other
  49. ' such changes.
  50. '
  51. '-------------------------DISABLING PROGRAM ELEMENTS-------------------
  52. ' Place a ' before any of the program elements to disable it. For example,
  53. ' in the preset basic selection mode, you might want to only call 5 programs
  54. ' and then you can disable the other CASES to avoid errors.
  55. '
  56. '-------------------------MASS KILLS-------------------------------------
  57. ' Mass killing of files is possible by selecting option 4 and typing
  58. ' *.BAS, *.EXE, *.BAK, etc. and then hitting ENTER. Look over the files
  59. ' listing to make sure that's what you want to do.
  60. '
  61. '=======================================================================
  62. ' Main program or "SAW SUB, SANK SAME"
  63.  
  64. DECLARE SUB AnyBasic ()
  65. DECLARE SUB BasicSelect ()
  66. DECLARE SUB BoxDraw ()
  67. DECLARE SUB CreditSign ()
  68. DECLARE SUB KillAll ()
  69. DECLARE SUB KillBas ()
  70. DECLARE SUB KillCom ()
  71. DECLARE SUB KillExe ()
  72. DECLARE SUB KillFile ()
  73. DECLARE SUB NameAll ()
  74. DECLARE SUB NameBas ()
  75. DECLARE SUB NameCom ()
  76. DECLARE SUB NameExe ()
  77. DECLARE SUB NameFile ()
  78. DECLARE SUB ReturnLine ()
  79. DECLARE SUB TipTop ()
  80. DECLARE SUB ToSystem ()
  81. DECLARE FUNCTION Handler ()
  82.  
  83.  
  84. ' Start of program
  85.  
  86.         CALL TipTop
  87.  
  88. ' Less than efficient error handling routine
  89.  
  90. Handler:
  91.         
  92.         Number = 53
  93.         IF ERR = 53 THEN GOTO WaitUp
  94.  
  95. WaitUp:
  96.         CLS
  97.         LOCATE 13, 25: COLOR 15, 0: PRINT "NO SUCH FILES": COLOR 7, 0
  98.         SLEEP 3
  99.         CALL TipTop
  100.  
  101. SUB AnyBasic
  102.         
  103.         CLS
  104.         CALL CreditSign
  105.         PRINT STRING$(80, 205)
  106.         LOCATE 5, 25: COLOR 15, 0: PRINT "RUN ANY BASIC PROGRAM": COLOR 7, 0
  107.         LOCATE 7, 1: PRINT STRING$(80, 205)
  108.         LOCATE 9, 1: FILES "*.BAS"
  109.         ON ERROR GOTO Handler
  110.         
  111.         LOCATE 15, 25: LINE INPUT "Name of program:   "; FileName$
  112.         IF FileName$ = "" THEN CALL TipTop ELSE RUN FileName$ + ".BAS"
  113. END SUB
  114.  
  115. SUB BasicSelect
  116.         ON ERROR GOTO Handler
  117.         CALL BoxDraw
  118.         CALL CreditSign
  119.         LOCATE 5, 25: PRINT "CALLING PRESET BASIC PROGRAMS"
  120.         LOCATE 7, 15: COLOR 15, 0: PRINT "{ 1 }": COLOR 7, 0
  121.         LOCATE 7, 22: PRINT "BOXMAKER"
  122.         LOCATE 9, 15: COLOR 15, 0: PRINT "{ 2 }": COLOR 7, 0
  123.         LOCATE 9, 22: PRINT "REMLINE"
  124.         LOCATE 11, 15: COLOR 15, 0: PRINT "{ 3 }": COLOR 7, 0
  125.         LOCATE 11, 22: PRINT "PROGRAM #3"
  126.         LOCATE 13, 15: COLOR 15, 0: PRINT "{ 4 }": COLOR 7, 0
  127.         LOCATE 13, 22: PRINT "PROGRAM #4"
  128.         LOCATE 7, 50: COLOR 15, 0: PRINT "{ 5 }": COLOR 7, 0
  129.         LOCATE 7, 57: PRINT "PROGRAM #5"
  130.         LOCATE 9, 50: COLOR 15, 0: PRINT "{ 6 }": COLOR 7, 0
  131.         LOCATE 9, 57: PRINT "PROGRAM #6"
  132.         LOCATE 11, 50: COLOR 15, 0: PRINT "{ 7 }": COLOR 7, 0
  133.         LOCATE 11, 57: PRINT "PROGRAM #7"
  134.         LOCATE 13, 50: COLOR 15, 0: PRINT "{ 8 }": COLOR 7, 0
  135.         LOCATE 13, 57: PRINT "PROGRAM #8"
  136.         LOCATE 17, 20: COLOR 0, 15: PRINT "     Type M or m for FileManager menu     ": COLOR 15, 0
  137.  
  138.  
  139.  
  140.         DO: basic$ = INKEY$
  141.          LOOP UNTIL basic$ = "1" OR basic$ = "2" OR basic$ = "3" OR basic$ = "4" OR basic$ = "5" OR basic$ = "6" OR basic$ = "7" OR basic$ = "8" OR basic$ = "M" OR basic$ = "m"
  142.        
  143.  
  144.         SELECT CASE basic$
  145.         CASE "1": RUN "PROGRAM #1"
  146.         CASE "2": RUN "PROGRAM #2"
  147.         CASE "3": RUN "PROGRAM #3"
  148.         CASE "4": RUN "PROGRAM #4"
  149.         CASE "5": RUN "PROGRAM #5"
  150.         CASE "6": RUN "PROGRAM #6"
  151.         CASE "7": RUN "PROGRAM #7"
  152.         CASE "8": RUN "PROGRAM #8"
  153.         CASE "m": CALL TipTop
  154.         CASE "M": CALL TipTop
  155.         END SELECT
  156.         
  157. END SUB
  158.  
  159. SUB BoxDraw
  160.  
  161.          CLS
  162.          FOR SIDELINE = 1 TO 23
  163.          PRINT CHR$(186); SPACE$(78); CHR$(186)
  164.          NEXT SIDELINE
  165.          LOCATE 3, 2: PRINT STRING$(78, 186)
  166.          LOCATE 20, 2: PRINT STRING$(78, 186)
  167.  
  168. END SUB
  169.  
  170. SUB CreditSign
  171.         LOCATE 2, 25: COLOR 15, 0: PRINT "FILE MANAGER  BY  CARMEN  PAONE": COLOR 7, 0
  172.  
  173. END SUB
  174.  
  175. SUB KillAll
  176.         
  177.         LOCATE 10, 1: FILES
  178.         ON ERROR GOTO Handler
  179.         LOCATE 21, 15: LINE INPUT "Name of file [plus extension]  "; FileName$
  180.         IF FileName$ = "" THEN CALL TipTop
  181.  
  182.         LOCATE 22, 15: LINE INPUT "Are you certain? [Y or N]  "; certain$
  183.         IF certain$ = "Y" OR certain$ = "y" THEN KILL FileName$: GOTO KillAll
  184.         IF certain$ = "N" OR certain$ = "n" THEN CALL TipTop
  185.  
  186. KillAll:
  187.         LOCATE 23, 25: PRINT FileName$; " killed";
  188.         SLEEP 5
  189.         CALL TipTop
  190.  
  191. END SUB
  192.  
  193. SUB KillBas
  194.         
  195.         LOCATE 10, 1: FILES "*.BAS"
  196.         ON ERROR GOTO Handler
  197.         LOCATE 17, 15: LINE INPUT "Name of file:  "; FileName$
  198.         IF FileName$ = "" THEN CALL TipTop
  199.  
  200.         LOCATE 19, 15: LINE INPUT "Are you certain? [Y or N]  "; certain$
  201.         IF certain$ = "Y" OR certain$ = "y" THEN KILL FileName$ + ".BAS": GOTO KillBas
  202.         IF certain$ = "N" OR certain$ = "n" THEN CALL TipTop
  203.  
  204. KillBas:
  205.  
  206.         LOCATE 21, 25: PRINT FileName$; " killed"
  207.         SLEEP 5
  208.         CALL TipTop
  209.  
  210.  
  211. END SUB
  212.  
  213. SUB KillCom
  214.         
  215.         LOCATE 10, 1: FILES "*.COM"
  216.         ON ERROR GOTO Handler
  217.         LOCATE 17, 15: LINE INPUT "Name of file:  "; FileName$
  218.         IF FileName$ = "" THEN CALL TipTop
  219.  
  220.         LOCATE 19, 15: LINE INPUT "Are you certain? [Y or N]  "; certain$
  221.         IF certain$ = "Y" OR certain$ = "y" THEN KILL FileName$ + ".COM": GOTO KillCom
  222.         IF certain$ = "N" OR certain$ = "n" THEN CALL TipTop
  223.  
  224. KillCom:
  225.         LOCATE 21, 25: PRINT FileName$; " killed"
  226.         SLEEP 5
  227.         CALL TipTop
  228.  
  229. END SUB
  230.  
  231. SUB KillExe
  232.  
  233.         
  234.         LOCATE 10, 1: FILES "*.EXE"
  235.         ON ERROR GOTO Handler
  236.         LOCATE 17, 15: LINE INPUT "Name of file:  "; FileName$
  237.         IF FileName$ = "" THEN CALL TipTop
  238.  
  239.         LOCATE 19, 15: LINE INPUT "Are you certain? [Y or N]  "; certain$
  240.         IF certain$ = "Y" OR certain$ = "y" THEN KILL FileName$ + ".EXE": GOTO KillExe
  241.         IF certain$ = "N" OR certain$ = "n" THEN CALL TipTop
  242.  
  243. KillExe:
  244.         LOCATE 21, 25: PRINT FileName$; " killed"
  245.         SLEEP 5
  246.         CALL TipTop
  247.  
  248.  
  249. END SUB
  250.  
  251. SUB KillFile
  252.         CLS
  253.         CALL CreditSign
  254.         LOCATE 3, 1: PRINT STRING$(80, 205)
  255.         LOCATE 5, 20: PRINT "CHOICE OF FILES (SELECT A NUMBER FROM 1 TO 4)"
  256.         LOCATE 7, 14: PRINT "1 - KILL BAS"
  257.         LOCATE 7, 28: PRINT "2 - KILL COM"
  258.         LOCATE 7, 42: PRINT "3 - KILL EXE"
  259.         LOCATE 7, 56: PRINT "4 - KILL OTHERS"
  260.         LOCATE 9, 1: PRINT STRING$(80, 205)
  261.        
  262.         
  263.         DO: kill$ = INKEY$
  264.         LOOP UNTIL kill$ = "1" OR kill$ = "2" OR kill$ = "3" OR kill$ = "4"
  265.         SELECT CASE kill$
  266.         CASE "1": CALL KillBas
  267.         CASE "2": CALL KillCom
  268.         CASE "3": CALL KillExe
  269.         CASE "4": CALL KillAll
  270.         END SELECT
  271.  
  272.  
  273. END SUB
  274.  
  275. SUB NameAll
  276.  
  277.         LOCATE 11, 1: FILES
  278.         ON ERROR GOTO Handler
  279.         PRINT STRING$(80, 205)
  280.         LOCATE 20, 15: LINE INPUT "Old filename [plus extension]:   "; OldName$
  281.         LOCATE 21, 15: LINE INPUT "New filename [plus extension]:   "; NewName$
  282.         IF NewName$ = "" THEN CALL TipTop ELSE NAME OldName$ AS NewName$
  283.         LOCATE 22, 15: PRINT OldName$; "  renamed as  "; NewName$
  284.         SLEEP 5
  285.         CALL TipTop
  286.  
  287. END SUB
  288.  
  289. SUB NameBas
  290.  
  291.         
  292.         LOCATE 10, 1: FILES "*.BAS"
  293.         ON ERROR GOTO Handler
  294.         LOCATE 17, 15: LINE INPUT "Old file name:  "; OldName$
  295.         LOCATE 19, 15: LINE INPUT "New file name:  "; NewName$
  296.         IF NewName$ = "" THEN CALL TipTop ELSE GOTO NameBas
  297.  
  298.  
  299. NameBas:
  300.         NAME OldName$ + ".BAS" AS NewName$ + ".BAS"
  301.         LOCATE 22, 15: PRINT OldName$; "  renamed as  "; NewName$
  302.         SLEEP 5
  303.         CALL TipTop
  304.  
  305. END SUB
  306.  
  307. SUB NameCom
  308.  
  309.         
  310.         LOCATE 10, 1: FILES "*.COM"
  311.         ON ERROR GOTO Handler
  312.         LOCATE 17, 15: LINE INPUT "Old file name:  "; OldName$
  313.         LOCATE 19, 15: LINE INPUT "New file name:  "; NewName$
  314.         IF NewName$ = "" THEN CALL TipTop ELSE GOTO NameCom
  315.  
  316.  
  317. NameCom:
  318.         NAME OldName$ + ".COM" AS NewName$ + ".COM"
  319.         LOCATE 22, 15: PRINT OldName$; "  renamed as  "; NewName$
  320.         SLEEP 5
  321.         CALL TipTop
  322.  
  323. END SUB
  324.  
  325. SUB NameExe
  326.  
  327.         
  328.         LOCATE 10, 1: FILES "*.EXE"
  329.         ON ERROR GOTO Handler
  330.         LOCATE 17, 15: LINE INPUT "Old file name:  "; OldName$
  331.         LOCATE 19, 15: LINE INPUT "New file name:  "; NewName$
  332.         IF NewName$ = "" THEN CALL TipTop ELSE GOTO NameIt
  333.  
  334.  
  335. NameIt:
  336.         NAME OldName$ + ".EXE" AS NewName$ + ".EXE"
  337.         LOCATE 22, 15: PRINT OldName$; "  renamed as  "; NewName$
  338.         SLEEP 5
  339.         CALL TipTop
  340.  
  341.  
  342. END SUB
  343.  
  344. SUB NameFile
  345.         ON ERROR GOTO Handler
  346.         CLS
  347.         
  348.         CALL CreditSign
  349.         LOCATE 3, 1: PRINT STRING$(80, 205)
  350.         LOCATE 5, 20: PRINT "CHOICE OF FILES (SELECT A NUMBER FROM 1 TO 4)"
  351.         LOCATE 7, 14: PRINT "1 - NAME BAS"
  352.         LOCATE 7, 28: PRINT "2 - NAME COM"
  353.         LOCATE 7, 42: PRINT "3 - NAME EXE"
  354.         LOCATE 7, 56: PRINT "4 - NAME OTHERS"
  355.         LOCATE 9, 1: PRINT STRING$(80, 205)
  356.       
  357.        
  358.         DO: name$ = INKEY$
  359.         LOOP UNTIL name$ = "1" OR name$ = "2" OR name$ = "3" OR name$ = "4" OR name$ = "5" OR name$ = "6"
  360.         SELECT CASE name$
  361.         CASE "1": CALL NameBas
  362.         CASE "2": CALL NameCom
  363.         CASE "3": CALL NameExe
  364.         CASE "4": CALL NameAll
  365.         END SELECT
  366.  
  367. END SUB
  368.  
  369. SUB ReturnLine
  370.         LOCATE 22, 23: PRINT "Type"
  371.         LOCATE 22, 29: COLOR 15, 0: PRINT "R": COLOR 7, 0
  372.         LOCATE 22, 33: PRINT "or"
  373.         LOCATE 22, 37: COLOR 15, 0: PRINT "r": COLOR 7, 0
  374.         LOCATE 22, 41: PRINT "for return to Main Menu"
  375.  
  376.         DO: return$ = INKEY$
  377.         LOOP UNTIL return$ = "r" OR return$ = "R"
  378.         SELECT CASE return$
  379.         CASE "r": CALL TipTop
  380.         CASE "R": CALL TipTop
  381.         END SELECT
  382.  
  383. END SUB
  384.  
  385. SUB TipTop
  386.          CLS
  387.          CALL BoxDraw
  388.          CALL CreditSign
  389.          LOCATE 7, 25: COLOR 15, 0: PRINT "{ 1 }": COLOR 7, 0
  390.          LOCATE 7, 33: PRINT "Run selected BASIC programs"
  391.          LOCATE 8, 25: COLOR 15, 0: PRINT "{ 2 }": COLOR 7, 0
  392.          LOCATE 8, 33: PRINT "Run any other BASIC program"
  393.          LOCATE 9, 25: COLOR 15, 0: PRINT "{ 3 }": COLOR 7, 0
  394.          LOCATE 9, 33: PRINT "Kill any file"
  395.          LOCATE 10, 25: COLOR 15, 0: PRINT "{ 4 }": COLOR 7, 0
  396.          LOCATE 10, 33: PRINT "Name any file"
  397.          LOCATE 11, 25: COLOR 15, 0: PRINT "{ 5 }": COLOR 7, 0
  398.          LOCATE 11, 33: PRINT "Quit to SYSTEM"
  399.          LOCATE 16, 25: COLOR 15, 0: PRINT "SELECT A NUMBER FROM 1 TO 5": COLOR 7, 0
  400.        
  401.          DO: Number$ = INKEY$
  402.          LOOP UNTIL Number$ = "1" OR Number$ = "2" OR Number$ = "3" OR Number$ = "4" OR Number$ = "5"
  403.          SELECT CASE Number$
  404.          CASE "1": CALL BasicSelect
  405.          CASE "2": CALL AnyBasic
  406.          CASE "3": CALL KillFile
  407.          CASE "4": CALL NameFile
  408.          CASE "5": CALL ToSystem
  409.         
  410.          END SELECT
  411.  
  412.  
  413. END SUB
  414.  
  415. SUB ToSystem
  416.         CLS
  417.         SYSTEM
  418. END SUB
  419.  
  420.